home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / src / exampleCode / video / scrollmon / PerfCalc.c++ < prev    next >
Encoding:
C/C++ Source or Header  |  1994-08-02  |  2.0 KB  |  64 lines

  1. /*
  2.  * Copyright (C) 1993, 1994, Silicon Graphics, Inc.
  3.  * All Rights Reserved.
  4.  *
  5.  * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
  6.  * the contents of this file may not be disclosed to third parties, copied or
  7.  * duplicated in any form, in whole or in part, without the prior written
  8.  * permission of Silicon Graphics, Inc.
  9.  *
  10.  * RESTRICTED RIGHTS LEGEND:
  11.  * Use, duplication or disclosure by the Government is subject to restrictions
  12.  * as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
  13.  * and Computer Software clause at DFARS 252.227-7013, and/or in similar or
  14.  * successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
  15.  * rights reserved under the Copyright Laws of the United States.
  16.  */
  17. #include <PerfCalc.h>
  18.  
  19.   PerfCalc::PerfCalc(char *whichSensor)
  20.     {
  21.      sensorName = new char[strlen(whichSensor) + 1];
  22.      strncpy(sensorName, whichSensor, strlen(whichSensor));
  23.      startTiming();
  24.     }
  25.  
  26.   void PerfCalc::startTiming()
  27.     {
  28.      gettimeofday(&startTime, &tzp);
  29.      startTimeInt = startTime;
  30.      nframes = 0;
  31.     }
  32.  
  33.   float PerfCalc::getRunning()
  34.     {
  35.        float tmpPerf;
  36.        
  37.        gettimeofday(&endTime, &tzp);
  38.        tmpPerf = (((float)((endTime.tv_sec - startTime.tv_sec) * 1000000
  39.                         + (endTime.tv_usec - startTime.tv_usec))) / 1000000.0);
  40.        return(tmpPerf);          
  41.     }
  42.  
  43.   float PerfCalc::getRunning(int frameAvgCnt)
  44.     {
  45.        float tmpPerf;
  46.        
  47.        gettimeofday(&endTime, &tzp);
  48.        tmpPerf = (((float)((endTime.tv_sec - startTime.tv_sec) * 1000000
  49.                         + (endTime.tv_usec - startTime.tv_usec))) / 1000000.0);
  50.        return(tmpPerf / frameAvgCnt);          
  51.     }
  52.     
  53.   float PerfCalc::getInterval()
  54.     {
  55.        float tmpPerf;
  56.        
  57.        gettimeofday(&endTime, &tzp);
  58.        tmpPerf = (((float)((endTime.tv_sec - startTimeInt.tv_sec) * 1000000
  59.                         + (endTime.tv_usec - startTimeInt.tv_usec))) / 1000000.0);
  60.        startTimeInt = endTime;
  61.        return(tmpPerf);          
  62.     }
  63.         
  64.